The present invention relates to replacement of data lost or corrupted in a packet network. In particular, the present invention relates to a method and apparatus using selectable replacement data generators to replace lost PSTN data in a packet network.
Modern communications networks carry staggering amounts of data generated by numerous and diverse information sources. The Public Switched Telephone Network (PSTN) (which is a Time Division Multiplex (TDM) communications network) carries, for example, digital data representing voice signals and digital data produced by faxes and MODEMs. Furthermore, the data may travel over any number of varied networks in route from the information source to the information destination, with each network incorporating divergent topologies and routing protocols.
Some networks divide data traffic into discrete packets which are referred to as “frames”, “packets”, or “cells”, depending on the particular network. As an example, an Asynchronous Transfer Mode (ATM) network is one of the many network solutions currently available. An ATM network supports high speed data transfers by dividing the data into individual “cells”. An ATM network cell is 53 bytes long and includes 48 information bytes and 5 network control bytes. It is often possible to link two or more dissimilar networks with an interworking device.
For example, an ATM network may accept, through an interworking device, a synchronous byte stream of digitized voice or MODEM data from a local PSTN or Public Branch Exchange (PBX) that may, for example, connect directly to a local loop and home telephone lines. The ATM network groups these bytes into cells, and routes the packetized data over high speed ATM links to a destination. At the destination, the ATM network interfaces, for example, with a PSTN through an interworking device. The interworking device accepts the asynchronous stream of packets and converts this data to a synchronous stream of bytes to be delivered to the PSTN network. An ATM to PBX interworking function may be provided, for example, by a Tellabs AN2100 multiplexer, available from Tellabs, Inc., Lisle Ill.
Many network protocols include provisions for determining when cells or packets are lost or corrupted. In ATM networks that carry cells created by the ATM Adaptation Layer 1 protocol (AAL1), for example, one of the information bytes is an information control byte that includes a 3-bit sequence number that is incremented each time a new cell is sent over the network. A receiver may then detect a missing cell by monitoring the sequence number. For example, receiving a sequence of cells 1,2,4,5 reveals that cell 3 has been lost.
In order to maintain bit count integrity in the PSTN network, a substitution function in the interworking device at the ATM network destination typically inserts dummy data in place of the missing cell. The amount of dummy data inserted is equal to the amount of data carried by the lost cell, for example, an ATM cell using AALI may carry 47 bytes of data. The substitution function typically takes one of three approaches to generating dummy data: inserting silence, inserting white noise, or inserting (repeating) previous data. The type of dummy data that the substitution function inserts is of particular importance when the dummy data is communicated out to the PSTN (and connected phone lines, fax machines, and MODEMs).
Inserting silence may be implemented by using a single, constant value as the dummy data for each byte in a lost or corrupted cell. The silence results because a series of constant values has a predominately DC (i.e., zero frequency) component. The DC component is filtered out by the CODECs (which typically roll off in frequency response below 300 Hz and above 3400 Hz, with severe attenuation at approximately 0 Hz or DC) that convert the PSTN data to analog form for reproduction at a telephone receiver.
Inserting silence often has undesirable effects when the series of constant values makes its way back out to the PSTN, however. For instance, if the dummy data forms part of a digitized voice conversation, the constant values manifests themselves as complete silence at a PSTN receiver. Complete silence makes a telephone call sound as if the line has gone dead or has otherwise been disconnected. Furthermore, if the dummy data forms part of a voiceband data connection (for a fax machine, for example), then complete silence may be interpreted as a disconnection or loss of carrier by a receiving fax machine. Thus a MODEM or fax machine may “drop out”, i.e., drop a connection, or otherwise lose the ability to transmit or receive data on the connection when it receives inserted silence.
In the past, one method for repeating old data simply replayed a single piece of old data, for example, the last cell successfully received. Inserting a single cell of old data may cause audible false tones or frequency components, particularly if more than a few sequential cells are lost and the same old cell is repeated more than a few times.
Inserting white noise is a third option available to a substitution function. A generally accepted definition of white noise is that a white noise signal consists of samples whose values are uncorrelated with one another. In other words, the given sample value cannot be predicted with any additional accuracy even given a complete knowledge of all past and future samples. Noise substitution in general has been proposed, for example, in the American Nation Standards Institute (ANSI) T1 standard T1.312 of 1991. The T1 standard specifies a set of 16 noise power levels that should be used, but does not provide any method for generating noise of any type.
White noise substitution provides a sound similar to the background static sound familiar from periods of silence during phone conversations or loss of radio or television reception. The static sound reinforces the perception during a phone call, for example, that the connection is still intact (that the line has not gone dead). Ideal white noise produces energy in all frequency bands and MODEM and fax machines typically interpret a received signal with energy at a particular frequency with a predetermined range as a live connection. Thus, regardless of the particular frequency or frequency band in which a MODEM expects to find energy representing a live connection, that energy may be provided by white noise substitution. Inserting white noise with more than the threshold amount of energy therefore prevents, in many instances, MODEMs and fax machines from terminating a connection.
One past approach to generating white noise has centered around real-time speech coding. In J. F. Lynch Jr. et al., Speech/Silence Segmentation for Real-Time Coding Via Rule Based Adaptive Endpoint Detection, ICASSP '87, 1348-1351 (1987) (the “ICASSP paper”), the authors propose a general speech coding scheme. The coding scheme includes a receiver that reconstructs speech by decoding speech segments and that reconstructs silence with a noise substitution process controlled through amplitude and duration parameters. The noise substitution process in the ICASSP paper uses a 18th order polynomial to generate a spectrally flat pseudo-random bit sequence that is filtered to match the mean coloration of acoustical background noise.
The ICASSP paper proposes a set of production rules that generate a single scalar quantity called a noise metric that indicates the current level of background noise. At the receiver, a binary shift register produces a binary sequence that is modulated with the noise metric to produce noise at the amplitude of the original background noise. In addition, the modulated output is passed through a low pass filter to shape the simulated noise to approximate the average “coloration” of the background noise. The approach in the ICASSP paper thus does not provide an independent mechanism for manipulation of the output noise power level. Rather, the output noise amplitude is responsive to a mechanism that is required to generate a noise metric. Furthermore, the ICASSP paper requires an output low pass filter to further shape the output noise appropriately for merging with decoded speech segments.
A need exists in the industry for a method and apparatus for replacing lost PSTN data in a packet network, including flexible and efficient mechanisms for lost data substitution and white noise generation.